Sieve_Cache
lock_free.Sieve_Cache
(K
type
:
property.hashable, V type
, MM type
: container.Mutable_Map K (lock_free.Node K V), capacity i64) ref
:
Any is
¶Type Parameters
Fields
Functions
access stored value for key,
if not in cache, compute and store in cache
if not in cache, compute and store in cache
Comment of Any.as_string
create a String from this instance. Unless redefined, `a.as_string` willcreate `"instance[T]"` where `T` is the dynamic type of `a`
0.099dev (GIT hash 02118e9cbed77f3897084a4a507da3f11ac8881e)
It achieves both simplicity and efficiency."
source: https://sievecache.com/
paper : https://junchengyang.com/publication/nsdi24-SIEVE.pdf
example usage:
cache0 := lock_free.Sieve_Cache String i32 3
say <| cache0.access "A" ()->1 # => 1
say <| cache0.access "B" ()->2 # => 2
say <| cache0.access "C" ()->3 # => 3
say <| cache0.access "A" ()->4 # => 1
say <| cache0.access "D" ()->5 # => 5
say <| cache0.access "C" ()->6 # => 3